home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / database / blt2rx_o.zip / SCRIPTS.ZIP / 02CRD.CMD < prev    next >
OS/2 REXX Batch file  |  1996-08-05  |  11KB  |  279 lines

  1. /* 02 - Create data example for Bullet/REXX */
  2. /* 3-Aug-96
  3.    Calls made in this example:
  4.    - blt_Init()
  5.    - blt_DeleteFileDos()   [to delete test-generated files]
  6.    - blt_CreateData()
  7.    - blt_OpenData()        [file-level locks used]
  8.    - blt_FlushDataHeader()
  9.    - blt_ReadDataHeader()
  10.    - blt_CopyDataHeader()
  11.    - blt_ZapDataHeader()
  12.    - blt_StatHandle()
  13.    - blt_BackupFile()
  14.    - blt_StatData()
  15.    - blt_CloseData()
  16.    - blt_Exit()
  17. */
  18.  
  19. /* Typically, each test routine's arg pack (blt_IP., etc.) is set to NOVALUE */
  20. /* so that any unset variables can easily be identified.  In actual use, */
  21. /* this would not be necessary since often arg pack values are already setup */
  22. /* for multiple calls, where blt_?P.variable is already properly set up */
  23.  
  24.  say "Example: 02crd.cmd  (recommend output be redirected to a file)"
  25.  
  26.  call RxFuncAdd 'BulletLoadFuncs', 'BREXXI2', 'BulletLoadFuncs'
  27.  call BulletLoadFuncs
  28.  
  29.  /* in case Bullet/REXX is still active, close it out */
  30.  
  31.  rez = blt_Exit()
  32.  
  33.  say
  34.  say "calling blt_Init()"
  35.  blt_IP.=NOVALUE
  36.  blt_IP.JFTsize=5       /* must be 5 */
  37.  rez = blt_Init()       /* init Bullet/REXX */
  38.  say " blt_IP.func is" blt_IP.func
  39.  say " blt_IP.stat is" blt_IP.stat  /* rez same as stat except for xactions */
  40.  if rez = 0 then do
  41.  
  42.     say " blt_IP.versionDOS is" blt_IP.versionDOS
  43.     say " blt_IP.versionOS is" blt_IP.versionOS
  44.     say " blt_IP.versionBullet is" blt_IP.versionBullet
  45.     /* say " blt_IP.exitPtr is" blt_IP.exitPtr */
  46.  
  47.     say
  48.     say "calling blt_DeleteFileDos() x6 (02CRD.DB?, 02CRDcpy.DB?, 02BACKUP.?B?)"
  49.     blt_DFP.=NOVALUE
  50.     blt_DFP.filename = "02CRD.DBF"
  51.     rez = blt_DeleteFileDos();
  52.     say " blt_DFP.func is" blt_DFP.func
  53.     say " blt_DFP.stat is" blt_DFP.stat "(02CRD.DBF) [stat=2, file not found, is possible]"
  54.  
  55.     blt_DFP.=NOVALUE
  56.     blt_DFP.filename = "02CRD.DBT"  /* may use QuerySysVars for memo .EXT */
  57.     rez = blt_DeleteFileDos();
  58.     say " blt_DFP.stat is" blt_DFP.stat "(02CRD.DBT)"
  59.  
  60.     blt_DFP.=NOVALUE
  61.     blt_DFP.filename = "02CRDcpy.DBF"  /* generated by blt_CopyDataHeader() */
  62.     rez = blt_DeleteFileDos();
  63.     say " blt_DFP.stat is" blt_DFP.stat "(02CRDcpy.DBF)"
  64.  
  65.     blt_DFP.=NOVALUE
  66.     blt_DFP.filename = "02CRDcpy.DBT"  /* generated by blt_CopyDataHeader() */
  67.     rez = blt_DeleteFileDos();
  68.     say " blt_DFP.stat is" blt_DFP.stat "(02CRDcpy.DBT)"
  69.  
  70.     blt_DFP.=NOVALUE
  71.     blt_DFP.filename = "02BACKUP.DBF"  /* generated by blt_BackupFile() */
  72.     rez = blt_DeleteFileDos();
  73.     say " blt_DFP.stat is" blt_DFP.stat "(02BACKUP.DBF)"
  74.  
  75.     blt_DFP.=NOVALUE
  76.     blt_DFP.filename = "02BACKUP._BT"  /* generated by blt_BackupFile() */
  77.     rez = blt_DeleteFileDos();
  78.     say " blt_DFP.stat is" blt_DFP.stat "(02BACKUP._BT)"
  79.  
  80.     say
  81.     say "calling blt_CreateData()"
  82.     blt_CDP.=NOVALUE
  83.     blt_CDP.filename = "02CRD.DBF"
  84.     blt_CDP.noFields = 3
  85.     blt_CDP.FD.1.fieldName = "SSN"
  86.     blt_CDP.FD.1.fieldType = "N"
  87.     blt_CDP.FD.1.fieldLen = 9
  88.     blt_CDP.FD.1.fieldDC = 0
  89.     blt_CDP.FD.2.fieldName = "NAME"
  90.     blt_CDP.FD.2.fieldType = "C"
  91.     blt_CDP.FD.2.fieldLen = 10
  92.     blt_CDP.FD.2.fieldDC = 0
  93.     blt_CDP.FD.3.fieldName = "ADDR"
  94.     blt_CDP.FD.3.fieldType = "M"
  95.     blt_CDP.FD.3.fieldLen = 10
  96.     blt_CDP.FD.3.fieldDC = 0
  97.     blt_CDP.fileID = 139        /* memo, too  (139 is 0x8B [hex]) */
  98.     rez = blt_CreateData()      /* create data files: DBF and DBT */
  99.     say " blt_CDP.func is" blt_CDP.func
  100.     say " blt_CDP.stat is" blt_CDP.stat
  101.  
  102.     if rez = 0 then do
  103.        say
  104.        say "calling blt_OpenData()"
  105.        blt_OP.=NOVALUE
  106.        blt_OP.filename = blt_CDP.filename
  107.        blt_OP.asMode = 18       /* 18 is 0x0012 [hex] DENYRW, R/W */
  108.        rez = blt_OpenData()     /* see blt_Lock() for range locking */
  109.        say " blt_OP.func is" blt_OP.func
  110.        say " blt_OP.stat is" blt_OP.stat
  111.  
  112.        if rez = 0 then do
  113.           say " blt_OP.handle is" blt_OP.handle
  114.           blt_HP.=NOVALUE
  115.           blt_HP.handle = blt_OP.handle
  116.           say
  117.           say "calling blt_FlushDataHeader()"  /* purely for demo purpose */
  118.           rez = blt_FlushDataHeader()
  119.           say " blt_HP.func is" blt_HP.func
  120.           say " blt_HP.stat is" blt_HP.stat
  121.  
  122.           if rez = 0 then do
  123.              blt_HP.=NOVALUE
  124.              blt_HP.handle = blt_OP.handle
  125.              say
  126.              say "calling blt_ReadDataHeader()"  /* purely for demo purpose */
  127.              rez = blt_ReadDataHeader()
  128.              say " blt_HP.func is" blt_HP.func
  129.              say " blt_HP.stat is" blt_HP.stat
  130.  
  131.              /* For blt_CopyData() when original handle has a memo file: */
  132.              /*   must use different filename proper else memo create part */
  133.              /*   of copy fails (err:80) [or use SetSysVars on memo .EXT] */
  134.  
  135.              if rez = 0 then do
  136.                 blt_CP.=NOVALUE
  137.                 blt_CP.handle = blt_OP.handle
  138.                 blt_CP.filename = "02CRDcpy.DBF"
  139.                 say
  140.                 say "calling blt_CopyDataHeader()"  /* purely for demo purpose */
  141.                 rez = blt_CopyDataHeader()
  142.                 say " blt_CP.func is" blt_CP.func
  143.                 say " blt_CP.stat is" blt_CP.stat
  144.  
  145.                 if rez = 0 then do
  146.                    blt_HP.=NOVALUE
  147.                    blt_HP.handle = blt_OP.handle  /* zaps .DBF */
  148.                    say
  149.                    say "calling blt_ZapDataHeader()"  /* purely for demo purpose */
  150.                    rez = blt_ZapDataHeader()
  151.                    say " blt_HP.func is" blt_HP.func
  152.                    say " blt_HP.stat is" blt_HP.stat
  153.  
  154.                    if rez = 0 then do
  155.                       blt_SHP.=NOVALUE
  156.                       blt_SHP.handle = blt_OP.handle
  157.                       say
  158.                       say "calling blt_StatHandle()"  /* purely for demo purpose */
  159.                       rez = blt_StatHandle()
  160.                       say " blt_SHP.func is" blt_SHP.func
  161.                       say " blt_SHP.stat is" blt_SHP.stat
  162.  
  163.                       if rez = 0 then do
  164.                          say " blt_SHP.ID is" blt_SHP.ID  /* unsigned */
  165.  
  166.                          /* generate backups of both 02CRD.DBF and 02CRD.DBT */
  167.  
  168.                          blt_CP.=NOVALUE
  169.                          blt_CP.handle = blt_OP.handle
  170.                          blt_CP.filename = "02BACKUP.DBF"
  171.                          say
  172.                          say "calling blt_BackupFile()"
  173.                          rez = blt_BackupFile()
  174.                          say " blt_CP.func is" blt_CP.func
  175.                          say " blt_CP.stat is" blt_CP.stat
  176.  
  177.                          if rez = 0 then do
  178.                             say
  179.                             say "calling blt_StatData()"
  180.                             blt_SDP.=NOVALUE
  181.                             blt_SDP.handle = blt_OP.handle
  182.                             rez = blt_StatData()
  183.                             say " blt_SDP.func is" blt_SDP.func
  184.                             say " blt_SDP.stat is" blt_SDP.stat
  185.                             if rez = 0 then do
  186.  
  187.                                say " blt_SDP.handle is" blt_SDP.handle
  188.                                say " blt_SDP.fileType is" blt_SDP.fileType
  189.                                say " blt_SDP.flags is" blt_SDP.flags
  190.                                say " blt_SDP.progress is" blt_SDP.progress
  191.                                say " blt_SDP.morePtr is" blt_SDP.morePtr
  192.                                say " blt_SDP.fields is" blt_SDP.fields
  193.                                say " blt_SDP.asMode is" blt_SDP.asMode
  194.                                say " blt_SDP.filename is '"blt_SDP.filename"'"
  195.                                say " blt_SDP.fileID is" blt_SDP.fileID
  196.                                say " blt_SDP.lastUpdate is '"blt_SDP.lastUpdate"'"
  197.                                say " blt_SDP.records is" blt_SDP.records
  198.                                say " blt_SDP.recordLength is" blt_SDP.recordLength
  199.                                say " blt_SDP.xactionFlag is" blt_SDP.xactionFlag
  200.                                say " blt_SDP.encryptFlag is" blt_SDP.encryptFlag
  201.                                say " blt_SDP.herePtr is" blt_SDP.herePtr
  202.                                say " blt_SDP.memoHandle is" blt_SDP.memoHandle
  203.                                say " blt_SDP.memoBlockSize is" blt_SDP.memoBlockSize
  204.                                say " blt_SDP.memoFlags is" blt_SDP.memoFlags
  205.                                say " blt_SDP.memoLastRecord is" blt_SDP.memoLastRecord
  206.                                say " blt_SDP.memoLastSize is" blt_SDP.memoLastSize
  207.                                say " blt_SDP.lockCount is" blt_SDP.lockCount
  208.                             end
  209.                             else do
  210.                                say "* ERROR * blt_StatData()"
  211.                             end
  212.  
  213.                          end
  214.                          else do
  215.                             say "* ERROR * blt_BackupFile()"
  216.                          end
  217.  
  218.                       end
  219.                       else do
  220.                          say "* ERROR * blt_StatHandle()"
  221.                       end
  222.  
  223.                    end
  224.                    else do
  225.                       say "* ERROR * blt_ZapDataHeader()"
  226.                    end
  227.  
  228.                 end
  229.                 else do
  230.                    say "* ERROR * blt_CopyDataHeader()"
  231.                 end
  232.  
  233.              end
  234.              else do
  235.                 say "* ERROR * blt_ReadDataHeader()"
  236.              end
  237.  
  238.           end
  239.           else do
  240.              say "* ERROR * blt_FlushDataHeader()"
  241.           end
  242.  
  243.           /* if open, it's a good idea to close it (blt_Exit() if not) */
  244.  
  245.           blt_HP.=NOVALUE
  246.           blt_HP.handle = blt_OP.handle
  247.           say
  248.           say "calling blt_CloseData()"
  249.           rez = blt_CloseData()
  250.           say " blt_HP.func is" blt_HP.func
  251.           say " blt_HP.stat is" blt_HP.stat
  252.  
  253.        end
  254.        else do
  255.           say "* ERROR * blt_OpenData()"
  256.        end
  257.  
  258.     end
  259.     else do
  260.        say
  261.        say "* ERROR * blt_CreateData()"
  262.     end
  263.  
  264.     say
  265.     say "calling blt_Exit()"
  266.     blt_EP.=NOVALUE
  267.     rez = blt_Exit()
  268.     say " blt_EP.func is" blt_EP.func
  269.     say " blt_EP.stat is" blt_EP.stat
  270.     say " blt_EP.rxAllocsLeft is" blt_EP.rxAllocsLeft
  271.  end
  272.  else do
  273.     say
  274.     say "* ERROR * blt_Init()"
  275.  end
  276.  
  277.  call BulletDropFuncs
  278.  exit 0
  279.